package org.qdss.persist.agile;

import java.io.InputStream;
import java.io.Reader;
import java.math.BigDecimal;
import java.util.Date;

import org.qdss.persist.engine.entry.ID;

public interface Record extends org.qdss.persist.Record {
	
	Record id(String key, ID value);
	ID id();
	
	Record char_(String key, Character value);
	Character char_();
	
	Record string(String key, String value);
	String string();
	
	Record int_(String key, Integer value);
	Integer int_();
	
	Record double_(String key, Double value);
	Double double_();
	
	Record decimal(String key, BigDecimal value);
	BigDecimal decimal();
	
	Record date(String key, Date value);
	Date date();
	
	Record bool(String key, Boolean value);
	Boolean bool();
	
	Record binary(String key, InputStream value);
	InputStream binary();
	
	Record reader(String key, Reader value);
	Reader reader();
	
	boolean has(String key);
	Object remove(String key);
	Record wasNull(String key);
}
